Technical Field
The present disclosure relates to storage systems and, more specifically, to recovery from a low space condition of an extent store of a storage system.
Background Information
A storage system typically includes one or more storage devices, such as disks embodied as solid state drives (SSDs), into which information may be entered, and from which information may be obtained, as desired. The storage system may implement a high-level module, such as a file system, to logically organize the information stored on disk as storage containers, such as files or logical units (LUNs). Each storage container may be implemented as a set of data structures, such as data blocks that store data for the storage containers and metadata blocks that describe the data of the storage containers. For example, the metadata may describe, e.g., identify, storage locations on the disks for the data.
A plurality of storage systems may be interconnected as a cluster and configured to operate according to a client/server model of information delivery to thereby allow one or more clients (hosts) to access, e.g., via one or more write requests, the storage containers. For example, the host may issue a write request that includes user data intended for persistent storage on a portion of a storage container served by the storage system. To reduce latency, the storage system may initially store each write request in non-volatile random access memory (rather than on disk) and respond to the host acknowledging that the write request has been persistently stored on the storage system. The storage system may thereafter store the user data on the intended portion of the storage container on disk. However, to enable safe and reliable persistent storage of the user data (and associated metadata) on disk, it is desirable that the storage system reserve storage space on the disks to accommodate the user data and associated metadata even during a low space condition.